target("classic_wlk", function()
  set_kind("shared")
  add_files("src/**.cpp")
  -- Win32相关库
  add_syslinks("user32")
  -- imgui
  add_syslinks("d3d12", "dxgi")
  add_includedirs("$(projectdir)/lib/imgui", "$(projectdir)/lib/imgui/backends")
  add_files("$(projectdir)/lib/imgui/*.cpp")
  add_files("$(projectdir)/lib/imgui/backends/imgui_impl_win32.cpp")
  add_files("$(projectdir)/lib/imgui/backends/imgui_impl_dx12.cpp")
  -- ImguiFileDialog
  add_files("$(projectdir)/lib/ImGuiFileDialog/ImGuiFileDialog.cpp")
  add_includedirs("$(projectdir)/lib/ImGuiFileDialog")
  add_deps("mgr")
  add_includedirs("$(projectdir)/lualib/src/lua-5.4.8/src")
  add_includedirs("$(projectdir)/utils/src")
  add_includedirs("$(projectdir)/game/src")
  add_includedirs("$(projectdir)/api/src")
  add_includedirs("$(projectdir)/lua/src")
  add_includedirs("$(projectdir)/mgr/src")

  after_build(function(target)
    -- TODO: target:name()?
    os.cp(target:targetfile(), "$(projectdir)/bin/")

    if is_host("windows") then
      local win_ver = nil
      local systeminfo_output = os.iorun("systeminfo")
      -- 查找包含 "OS 名称" 或 "OS Name" 的行
      for line in systeminfo_output:gmatch("[^\r\n]+") do
        if line:find("OS 名称") or line:find("OS Name") then
          win_ver = line
          break
        end
      end
      -- 根据版本信息进行处理
      if win_ver then
        if win_ver:find("Windows 11") then
          print("检测到 Windows 11")
          os.cp(target:targetfile(), "C:/wow/classic_wlk/inject/win11/")
        elseif win_ver:find("Windows 10") then
          print("检测到 Windows 10")
          os.cp(target:targetfile(), "C:/wow/classic_wlk/inject/win10/")
        else
          print("其他 Windows 版本: " .. win_ver)
        end
      else
        print("未能获取 Windows 版本信息")
      end
    end
  end)
end)
